package com.celesea.auth.dept.v1.controller.request;

import com.celesea.framework.vo.DictionaryVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author JackYuan
 * @create 2017-10-29 22:06
 */

@ApiModel(value = "部门新增")
public class PostRequest {

    @NotNull
    @Length(min = 1, max = 20)
    @ApiModelProperty(value = "名称", required = true)
    private String name;

    @NotNull
    @Length(min = 3, max = 20)
    @ApiModelProperty(value = "编码")
    private String code;

    @ApiModelProperty(value = "排序")
    private Integer sort;

    @Length(min = 0, max = 50)
    @ApiModelProperty(value = "描述")
    private String description;

    @ApiModelProperty(value = "上级部门")
    private DictionaryVo parent;

    @ApiModelProperty(value = "公司标记")
    private Byte companyFlag;

    @ApiModelProperty(value = "管理员")
    private DictionaryVo admin;

    @ApiModelProperty(value = "部门成员")
    private List<DictionaryVo> members;

    @ApiModelProperty(value = "不可见成员")
    private List<DictionaryVo> invisibleMembers;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public List<DictionaryVo> getMembers() {
        return members;
    }

    public void setMembers(List<DictionaryVo> members) {
        this.members = members;
    }

    public List<DictionaryVo> getInvisibleMembers() {
        return invisibleMembers;
    }

    public void setInvisibleMembers(List<DictionaryVo> invisibleMembers) {
        this.invisibleMembers = invisibleMembers;
    }

    public DictionaryVo getParent() {
        return parent;
    }

    public void setParent(DictionaryVo parent) {
        this.parent = parent;
    }

    public Byte getCompanyFlag() {
        return companyFlag;
    }

    public void setCompanyFlag(Byte companyFlag) {
        this.companyFlag = companyFlag;
    }

    public DictionaryVo getAdmin() {
        return admin;
    }

    public void setAdmin(DictionaryVo admin) {
        this.admin = admin;
    }
}
